#ifndef __LOG__
#define __LOG__
#include <stdio.h>
#include <time.h>

#define INF 0
#define DBG 1
#define ERR 2

#define DEFAUTL_LOG_LEVEL INF
#define LOG(level,format,...)do{\
    if(DEFAUTL_LOG_LEVEL > level) break;\
    time_t t = time(NULL);\
    struct tm* lt = localtime(&t);\
    char buf[32] = {0};\
    strftime(buf,31,"%H:%M:%S",lt);\
    fprintf(stdout,"[%s %s:%d] " format "\n",buf, __FILE__,__LINE__,##__VA_ARGS__);\
    }while(0)

    #define ILOG(format,...) LOG(INF,format,##__VA_ARGS__);
    #define DLOG(format,...) LOG(DBG,format,##__VA_ARGS__);
    #define ELOG(format,...) LOG(ERR,format,##__VA_ARGS__);
#endif